<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Task Descriptor: Prepare Guidelines for the Project</title>
<meta name="uma.type" content="TaskDescriptor">
<meta name="uma.name" content="prepare_project_specific_guidelines">
<meta name="uma.presentationName" content="Prepare Guidelines for the Project">
<meta name="uma.guid" content="_pi8dYEoiEdqrjq4i3fchvA">
<meta name="element_type" content="TaskDescriptor">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../css/default.css" type="text/css">
<script src="./../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ActivityTreeTable.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ProcessElementPage.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/processElementData.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var defaultQueryStr = '?proc={35359DDF-6361-43E5-8B1B-18D204DA8CFF}&path={35359DDF-6361-43E5-8B1B-18D204DA8CFF},{CD77CBDA-CC13-4593-BB81-41AF3FF7A84C},_pi8dYEoiEdqrjq4i3fchvA';
					var backPath = './../../';
					var imgPath = './../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo, defaultQueryStr, true, true, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top">
<div id="page-guid" value="_pi8dYEoiEdqrjq4i3fchvA"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Task Descriptor: Prepare Guidelines for the Project</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../images/taskdes_lg_dgm32.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">This task describes how to prepare project-specific guidelines.</td>
</tr>
<tr>
<td>Based on Method Task: <a href="./../../rup/tasks/prepare_project_specific_guidelines_A9AD00DB.html" guid="{1E706674-C1E7-4F8D-BF06-35FFE49C5E42}">Prepare Guidelines for the Project</a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Roles</th><td class="sectionTableCell" width="30%"><span class="sectionTableCellHeading">Main:
								</span>
<ul>
<li>
<a href="./../../rup/capabilitypatterns/rup_process_engineer_B6023E.html" guid="_pjCkAEoiEdqrjq4i3fchvA">流程工程师</a>
</li>
</ul>
</td><td class="sectionTableCell" width="30%"><span class="sectionTableCellHeading">Additional:
								</span></td><td class="sectionTableCell"><span class="sectionTableCellHeading">Assisting:
								</span></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Inputs</th><td class="sectionTableCell" width="30%"><span class="sectionTableCellHeading">Mandatory:
								</span>
<ul>
<li>None</li>
</ul>
</td><td class="sectionTableCell" width="30%"><span class="sectionTableCellHeading">Optional:
								</span>
<ul>
<li>
<a href="./../../rup/capabilitypatterns/rup_tools_80DDAE5B.html" guid="_CUdnxBi2Edq_uI8xTPML6g">工具</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_development_process_92B5F490.html" guid="_pjIqoEoiEdqrjq4i3fchvA">开发流程</a>
</li>
</ul>
</td><td class="sectionTableCell"><span class="sectionTableCellHeading">External:
								</span>
<ul>
<li>None</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Outputs</th><td class="sectionTableCell" colspan="3">
<ul>
<li>
<a href="./../../rup/capabilitypatterns/rup_project_specific_guidelines_8112B5CF.html" guid="_CUXhJBi2Edq_uI8xTPML6g">特定于项目的指南</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Steps</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="sectionTableCell">
<div class="stepHeading">Identify the Project's Need for Guidelines </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="IdentifyNeeds" name="IdentifyNeeds"></a> 
<div align="left">
    <table     style="BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid"      bordercolor="#808080" cellspacing="0" cellpadding="4" width="100%" border="1">
        <tbody>
            <tr valign="top">
                <td width="5%">
                    <b>Purpose:</b>
                </td>
                <td width="95%">
                    To identify which guidelines are needed by the project.
                </td>
            </tr>
        </tbody>
    </table><br />
</div>
<p>
    Based on which work products need to be produced and the formality level required for each work product, identify the
    set of guidelines needed by the project. Preparing guidelines is considered part of <a class="elementLinkWithUserText" href="./../../rup/tasks/tailor_process_for_project_6CFD05E2.html" guid="{1BA9AAA0-DA89-4C14-B45A-CE28A8A10894}">tailoring the process for the project</a> and the process engineer will
    spend a fair amount of time with the project manager deciding which types of guidelines should be made available to the
    teams.
</p>
<p>
    Project-specific guidelines serve several purposes, including :
</p>
<ul>
    <li>
        To provide prescriptive and relevant guidance on the production of certain work products.
    </li>
    <li>
        To ensure that work products are developed consistently and follow the defined conventions and styles.
    </li>
    <li>
        To describe certain standards required for the project adherence.
    </li>
    <li>
        To provide a precursor for staff reviewing the quality and completeness of the work products.
    </li>
</ul>
<p>
    In the table below some of the most commonly considered guidelines for a software project are described. The NUP comes
    with examples of these that can be used as a starting point for project-specific tailoring.
</p>
<table style="BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid"  bordercolor="#808080" cellspacing="0" cellpadding="4" width="100%" summary="Guidelines and Roles" border="1">
    <tbody>
        <tr valign="top" bgcolor="#DFDFFF">
            <th id="col1" valign="center" rowspan="2">
                <div align="left">
                    Type of Guideline
                </div>
            </th>
            <th id="col2" colspan="2">
                <div align="center">
                    Role Involvement
                </div>
            </th>
        </tr>
        <tr valign="top" bgcolor="#CCCCFF">
            <th id="col2a" headers="col2" width="18%">
                <div align="left">
                    Producer(s)
                </div>
            </th>
            <th id="col2b" headers="col2" width="18%">
                <div align="left">
                    Consumers
                </div>
            </th>
        </tr>
        <tr valign="top" bgcolor="#FFFFCA">
            <td headers="col1" width="65%">
                <font size="-1"><i>Business Modeling Guidelines</i><br />
                Describes how you should model business use cases, business workers, and business entities. These
                guidelines should be considered when the project needs to formally model the business to build a new
                system. The degree of business process redesign, or the complexity of the business process, dictates how
                comprehensive they need to be.<br />
                <br />
                </font>
            </td>
            <td headers="col2 col2a" width="18%">
                <font size="-1">Business Process Analyst</font>
            </td>
            <td headers="col2 col2b" width="18%">
                <font size="-1">Business Process Analyst, Business Designer, Technical Reviewers</font>
            </td>
        </tr>
        <tr valign="top" bgcolor="#FFFFCA">
            <td headers="col1" width="65%">
                <font size="-1"><i>Use-Case Modeling Guidelines</i><br />
                Needed whenever use cases will play a significant part in capturing the behavior of the system. Should
                contain modeling conventions such as relationships to use, styles to follow for textual descriptions.<br />
                <br />
                </font>
            </td>
            <td headers="col2 col2a" width="18%">
                <font size="-1">System Analyst</font>
            </td>
            <td headers="col2 col2b" width="18%">
                <font size="-1">System Analyst, Requirements Specifier, Designer</font>
            </td>
        </tr>
        <tr valign="top" bgcolor="#FFFFCA">
            <td headers="col1" width="65%" height="53">
                <p>
                    <font size="-1"><i>Design Guidelines</i><br />
                    A product of the architecture definition. It describes the guidelines to be followed during design,
                    architectural design, and implementation.<br />
                    </font>
                </p>
            </td>
            <td headers="col2 col2a" width="18%" height="53">
                <font size="-1">Software Architect</font>
            </td>
            <td headers="col2 col2b" width="18%" height="53">
                <font size="-1">Designer, Implementer, Technical Reviewers</font>
            </td>
        </tr>
        <tr valign="top" bgcolor="#FFFFCA">
            <td headers="col1" width="65%" height="80">
                <p>
                    <font size="-1"><i>Programming Guidelines</i><br />
                    Specific to the actual implementation language(s) and class libraries selected for the project. The
                    guidelines should specify how to present code layout and commenting, how to use naming conventions, and
                    how to use language features. They should also describe precautions regarding certain language
                    features.<br />
                    </font>
                </p>
            </td>
            <td headers="col2 col2a" width="18%" height="80">
                <font size="-1">Software Architect (with the help of key Implementers)</font>
            </td>
            <td headers="col2 col2b" width="18%" height="80">
                <font size="-1">Implementers, Testers</font>
            </td>
        </tr>
        <tr valign="top" bgcolor="#FFFFCA">
            <td headers="col1" width="65%">
                <font size="-1"><i>User-Interface Guidelines</i><br />
                Should give project-specific rules and recommendations for building the user interface. Often reference
                external publications, such as The Windows Interface Guidelines for Software Design, by Microsoft&reg;
                Corporation.<br />
                <br />
                </font>
            </td>
            <td headers="col2 col2a" width="18%">
                <font size="-1">User-Interface Designer</font>
            </td>
            <td headers="col2 col2b" width="18%">
                <font size="-1">User-Interface Designer, Designer, Implementer</font>
            </td>
        </tr>
        <tr valign="top" bgcolor="#FFFFCA">
            <td headers="col1" width="65%">
                <p>
                    <font size="-1"><i>Tool Guidelines</i><br />
                    Describes how the project makes the best use of the selected tool set. You can choose to provide one
                    guideline per tool. A tool guideline will often includes :</font>
                </p>
                <ul>
                    <li>
                        <font size="-1">Installation information, such as version, configuration parameters,</font>
                    </li>
                    <li>
                        <font size="-1">Limitations in functionality, and functionality that the project decided not to
                        use</font>
                    </li>
                    <li>
                        <font size="-1">Workarounds</font>
                    </li>
                    <li>
                        <font size="-1">Integration with other tools including procedures to follow, software to use, and
                        principles to apply.<br />
                        </font>
                    </li>
                </ul>
            </td>
            <td headers="col2 col2a" width="18%">
                <font size="-1">Tool Specialist</font>
            </td>
            <td headers="col2 col2b" width="18%">
                <font size="-1">Tool Specialist, Tester, System Administrator, tool users</font>
            </td>
        </tr>
        <tr valign="top" bgcolor="#FFFFCA">
            <td headers="col1" width="65%">
                <i>Test Guidelines</i><br />
                Used to record adjustments (often tactical) to the way the test process is enacted on a given project, and
                to capture project-specific practices discovered during the dynamic enactment of the test process. Examples
                of test guidelines are test completion criteria and defect management guidelines.<br />
                <br />
                <font size="-1">&#160;</font>
            </td>
            <td headers="col2 col2a" width="18%">
                <font size="-1">Test Designer</font>
            </td>
            <td headers="col2 col2b" width="18%">
                <font size="-1">Test Designer, Tester, Test Analyst</font>
            </td>
        </tr>
    </tbody>
</table>
<p>
    Note: You don't need to decide on the complete set of guidelines upfront. Often, the need for guidelines and concrete
    examples is discovered during the work of preparing the environment for an iteration.
</p></td>
</tr>
</table>
</div>
<div class="stepHeading">Prepare Guidelines for Project Use </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="PrepareGuidelines" name="PrepareGuidelines"></a> 
<div align="left">
    <table     style="BORDER-RIGHT: rgb(128,128,128) 1px solid; BORDER-TOP: rgb(128,128,128) 1px solid; BORDER-LEFT: rgb(128,128,128) 1px solid; BORDER-BOTTOM: rgb(128,128,128) 1px solid"      bordercolor="#808080" cellspacing="0" cellpadding="4" width="100%" border="1">
        <tbody>
            <tr valign="top">
                <td width="5%">
                    <b>Purpose:</b>
                </td>
                <td width="95%">
                    To make the identified guidelines available ready for the project members.
                </td>
            </tr>
        </tbody>
    </table>
    <p>
        One important decision to make when analyzing the resulting set of identified guidelines is whether to "Buy or
        Build". Although you might be able to obtain the guidelines you need for "free", you should always consider the
        cost of turning the set into a useful guidelines in the context of the project versus the cost of developing
        guidelines for a specific need, or maybe even skipping these guidelines altogether.
    </p>
</div>
<p>
    <b>Sub-topics:</b>
</p>
<ul>
    <li>
        <a href="#PrepareObtainExisting">Obtain Existing Guidelines</a>
    </li>
    <li>
        <a href="#PrepareDevelopNew">Develop New Guidelines</a>
    </li>
    <li>
        <a href="#PrepareTailor">Tailor the Guidelines for Project Use</a>
    </li>
    <li>
        <a href="#PrepareMakeAccessible">Make the Guidelines Accessible</a>
    </li>
</ul>
<h4>
    <a id="PrepareObtainExisting" name="PrepareObtainExisting">Obtain Existing Guidelines</a> <a href="#PrepareGuidelines"><img height="20" alt="Jump to the top of the page" src="./../../rup/resources/top.gif" width="26"     border="0" /></a>
</h4>
<p>
    The Process Engineer, who is responsible for the project-specific processes, continuously looks for useful existing
    guidelines or examples that can help the project members produce higher quality software more efficiently. Some
    guidelines may exist in the company's asset repository and are often a compilation of "organization-specific
    practices." Others fall into the category of "public standards" and can be found in existing literature or via the
    Internet.
</p>
<h4>
    <a id="PrepareDevelopNew" name="PrepareDevelopNew">Develop New Guidelines</a> <a href="#PrepareGuidelines"><img     height="20" alt="Jump to the top of the page" src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p>
    Most guidelines are initially produced as project work products, such as the documentation of some micro-process inside
    a project, and as with most other assets, someone sees the value of the guideline outside the scope of the project and
    promotes it as a candidate for reuse.
</p>
<p>
    When the decision is made to produce a new guideline inside the project, make sure it gets proper attention and is
    treated as an internal project work product. This includes allocating resources to produce and verify it and including
    it in the appropriate iteration plans.
</p>
<p>
    In the first instance, developing the guideline for the specific context of the project is highly recommended. There
    exist numerous stories of projects being derailed because of the focus on generalizing work products for future reuse
    instead of developing them for the specific purpose at hand. As part of the organization's process improvement effort,
    consider making the produced guidelines reusable for future projects. The work of turning a guideline,or any project
    work product, into a reusable asset should ideally be accounted for outside the budget of the single project producing
    it in the first instance.
</p>
<p>
    New guidelines may be developed anytime during the life cycle of the project. They are commonly developed
    "just-in-time" or as a task to document a successful approach to producing other work products.
</p>
<h4>
    <a id="PrepareTailor" name="PrepareTailor">Tailor the Guidelines</a> <a href="#PrepareGuidelines"><img height="20"     alt="Jump to the top of the page" src="./../../rup/resources/top.gif" width="26" border="0" /></a>
</h4>
<p>
    Guidelines and examples need to fit the context of the project, or they won't be used. Tailoring the guideline to fit
    the project is the responsibility of the process engineer and some key representatives from the consumers. It is
    particularly important to make an effort to tailor guidelines that are harvested from other projects, as they may have
    been developed for a slightly different context.
</p>
<p>
    You should capture any tailoring decisions made as they may prove useful for future projects wanting to reuse the same
    guideline.
</p>
<h4>
    <a id="PrepareMakeAccessible" name="PrepareMakeAccessible">Make the Guidelines Accessible</a> <a href="#PrepareGuidelines"><img height="20" alt="Jump to the top of the page" src="./../../rup/resources/top.gif" width="26"     border="0" /></a>
</h4>
<p>
    As important as the tailoring is to the guidelines, the accessibility of the prepared guidelines is equally important.
    It should be clear to the consumers where they should go to find the guidelines or an example and also to whom they
    should provide feedback on usage.
</p>
<p>
    You can make the guidelines available via&#160;the published process Web site using the NUP plug-in technology, where
    the guidelines can be associated with the work products and tasks they relate to. See <a class="elementLinkWithType" href="./../../rup/guidances/concepts/tailoring_rup_F8F0EB23.html" guid="6.991505672198195E-305">Concept: 定制 NUP</a> for
    further information.&#160;
</p></td>
</tr>
</table>
</div>
<div class="stepHeading">Maintain Guidelines </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="MaintainGuidelines" name="MaintainGuidelines"></a>
<div align="left">
    <table width="100%" cellspacing="0" cellpadding="4" border="1" style="border: 1px solid rgb(128,128,128)"     bordercolor="#808080">
        <tr valign="top">
            <td width="5%">
                <b>Purpose:</b>
            </td>
            <td width="95%">
                To improve the guidelines based on the consumers experience of use.
            </td>
        </tr>
    </table>
    <p>
        In any reuse-focused organization, it is crucial to the process improvement effort that projects provide feedback
        on their use of assets. Remember that most good practices generally become good because they've been used a number
        of times before and have had time to be fine-tuned and improved.
    </p>
    <p>
        When discovering issues with the guidelines or seeing potential improvements, a project has the option to fix the
        guideline or raise a change request for it to be handled outside the project. Which option to take often depends on
        the formality of the process effort in the organization and on the complexity of the issue. The Project Manager
        should consider defining time slots in every iteration to revise and further develop the guidelines as needed. It
        is often a good idea to provide an easy-to-use forum for team members to quickly record potential improvements as
        they are identified.
    </p>
</div></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Properties</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Multiple Occurrences" abbr="Multiple Occurrences">Multiple Occurrences</th><td class="sectionTableCell" align="left" headers="property_Multiple Occurrences"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Event Driven" abbr="Event Driven">Event Driven</th><td class="sectionTableCell" align="left" headers="property_Event Driven"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Ongoing" abbr="Ongoing">Ongoing</th><td class="sectionTableCell" align="left" headers="property_Ongoing"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Optional" abbr="Optional">Optional</th><td class="sectionTableCell" align="left" headers="property_Optional"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Planned" abbr="Planned">Planned</th><td class="sectionTableCell" align="left" headers="property_Planned"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Repeatable" abbr="Repeatable">Repeatable</th><td class="sectionTableCell" align="left" headers="property_Repeatable"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright">Copyright &copy; 2008 版权所有 东软集团股份有限公司&nbsp; 联系邮箱:<a href="mailto:tcoe@neusoft.com">tcoe@neusoft.com</a></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script language="JavaScript" type="text/javascript">
					contentPage.onload();
					contentPage.processPage.fixDescriptorLinks();
				</script>
</html>
